import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

//静态路由配置
void main() => runApp(const MyApp3());

//定义根目录Widget
class MyApp3 extends StatelessWidget {
  const MyApp3({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      localizationsDelegates: const [
        //初始化默认的 Material 组件本地化
        GlobalMaterialLocalizations.delegate,
        //初始化默认的 通用 Widget 组件本地化
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      //当前区域，如果为null则使用系统区域一般用于语言切换
      //传入两个参数，语言代码，国家代码
      //这里配制为中国
      locale: const Locale('zh', 'CN'),
      //定义当前应用程序所支持的语言环境
      supportedLocales: const [
        Locale('en', 'US'), // English 英文
        Locale('zh', 'CN'), // 中文
      ],
      routes: {
        //默认页面
        "/": (BuildContext context) => const Exam220HomePage(),
      },
    );
  }
}

///代码路径 lib/code2/code219_Button.dart
class Exam220HomePage extends StatefulWidget {
  const Exam220HomePage({Key? key}) : super(key: key);

  @override
  State<Exam220HomePage> createState() => _Exam220HomePageState();
}

class _Exam220HomePageState extends State<Exam220HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      //页面的头部
      appBar: AppBar(title: const Text("标题")),
      //页面的主内容区
      body: Container(
        width: double.infinity,
        //竖直方向排开子Widget
        child: Column(
          children: [
            const SizedBox(
              height: 44,
            ),
            TextButton(
              child: const Text("ElevatedButton 按钮"),
              onPressed: () {
                //点击事件
              },
            ),
            const SizedBox(
              height: 44,
            ),
            ElevatedButton(
              child: const Text("ElevatedButton 按钮"),
              onPressed: () {
                //点击 事件
              },
            )
          ],
        ),
      ),
    );
  }

  ///代码清单2-23
  ///代码路径 lib/code2/code220_MaterialButton.dart.dart
  MaterialButton buileButton() {
    return MaterialButton(
      //按钮的背景
      color: Colors.blue,
      //按钮上显示的文字
      child: const Text('登录'),
      //配制按钮上文本的颜色
      textColor: Colors.deepOrange,
      //未设置点击时的背景颜色 也就是当onPressed: null,时显示这个颜色配置
      disabledColor: Colors.yellow,
      //按钮点击下的颜色
      highlightColor: Colors.deepPurple,
      //水波纹的颜色
      splashColor: Colors.green,
      //按钮的阴影
      elevation: 10,
      //按钮按下时的阴影高度
      highlightElevation: 20,
      //未设置点击时的阴影高度
      disabledElevation: 5.0,
      //按钮的点击事件
      onPressed: () {
        print("点击了按钮");
      },
      // 用来设置圆角矩形边框
      shape: const RoundedRectangleBorder(
          //边框样式
          side: BorderSide(
              color: Colors.deepOrange, width: 2.5, style: BorderStyle.solid),
          //边框的圆角
          borderRadius: BorderRadius.all(Radius.circular(20))),
    );
  }
}
